package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

/**
 * 集合转数组方法
 */
public class CollectionToArrayDemo {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>();
        c.add("hello");
        c.add("world");
        c.add("java");
        c.add("javaee");
        System.out.println(c);

        /*
        * 集合转数组
        * toArray() 方法
         */
        // 传递的数值小于c.size()
        // 小于size 时，会创建新的数组，大小和集合的size()一样
        // 此时new String[小于size] 的数组会被浪费
        String[] arr = c.toArray(new String[0]);
        System.out.println(Arrays.toString(arr));

        // 等于c.size()
        String[] arr1 = c.toArray(new String[c.size()]);
        System.out.println(Arrays.toString(arr1));

        // 大于c.size()
        // 大于size 时，采用new的数组，大于size的部分会全部赋予默认值null(String数组)
        String[] arr2 = c.toArray(new String[c.size() + 1]);
        System.out.println(Arrays.toString(arr2));

    }
}
